Predictive Touch Surface Scanning

ABSTRACT

A method for locating a conductive object at a touch-sensing surface may include detecting a first resolved location for the conductive object at the touch-sensing surface based on a first scan of the touch-sensing surface, predicting a location for the conductive object, and determining a second resolved location for the conductive object by performing a second scan of a subset of sensor electrodes of the touch-sensing surface, wherein the subset of sensor electrodes is selected based on the predicted location of the conductive object.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No.61/557,148, filed on Nov. 8, 2011, and is a continuation in part of U.S.patent application Ser. No. 13/250,379, filed on Sep. 30, 2011, which isa continuation in part of U.S. patent application Ser. No. 12/844,798,filed on Jul. 27, 2010, which claims priority to U.S. ProvisionalApplication No. 61/229,236, filed on Jul. 28, 2009, all of which arehereby incorporated by reference.

TECHNICAL FIELD

This disclosure relates to the field of touch-sensors and, inparticular, to performing measurement scans of capacitive touch-sensorarrays.

BACKGROUND

Computing devices, such as notebook computers, personal data assistants(PDAs), kiosks, and mobile handsets, have user interface devices, whichare also known as human interface devices (HID). One user interfacedevice that has become more common is a touch-sensor pad (also commonlyreferred to as a touchpad). A basic notebook computer touch-sensor pademulates the function of a personal computer (PC) mouse. A touch-sensorpad is typically embedded into a PC notebook for built-in portability. Atouch-sensor pad replicates X/Y movement using a collection ofcapacitive sensor electrodes, arranged along two defined axes, thatdetect the presence or proximity of one or more conductive objects, suchas a finger. Mouse right/left button clicks can be replicated by twomechanical or capacitive-sensed buttons, located in the vicinity of thetouchpad, or by tapping commands or other gestures on the touch-sensorpad itself. The touch-sensor pad provides a user interface device forperforming such functions as positioning a pointer, or selecting an itemon a display. These touch-sensor pads may include multi-dimensionalsensor arrays for determining movement of the conductive object inmultiple axes. The sensor array may include a one-dimensional sensorarray, detecting movement in one axis. The sensor array may also be twodimensional, detecting movements in two axes.

Another user interface device that has become more common is a touchscreen. Touch screens, also known as touchscreens, touch windows, touchpanels, or touchscreen panels, are transparent display overlays whichare typically either pressure-sensitive (resistive or piezoelectric),electrically-sensitive (capacitive), acoustically-sensitive (surfaceacoustic wave (SAW)), or photo-sensitive (infra-red). Such overlaysallow a display to be used as an input device, removing the keyboardand/or the mouse as the primary input device for interacting with thedisplayed image's content. Such displays can be attached to computersor, as terminals, to networks. Touch screens have become familiar inretail settings, on point-of-sale systems, on ATMs, on mobile handsets,on kiosks, on game consoles, and on PDAs where a stylus is sometimesused to manipulate the graphical user interface (GUI) and to enter data.A user can touch a touch screen or a touch-sensor pad to manipulatedata. For example, a user can apply a single touch, by using a finger totouch the surface of a touch screen, to select an item from a menu.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings.

FIG. 1 is a block diagram illustrating an embodiment of an electronicsystem that processes touch sensor data.

FIG. 2 is a block diagram illustrating an embodiment of an electronicsystem that processes touch sensor data.

FIG. 3 illustrates an embodiment of a capacitive sensor array having adiamond pattern.

FIG. 4 illustrates unit cells and self-capacitance profiles of a touchproximate to a capacitive sensor array, according to an embodiment.

FIG. 5 illustrates an area of a touch-sensing surface, according to anembodiment.

FIG. 6A illustrates a search window of a touch-sensing surface,according to an embodiment.

FIG. 6B illustrates a touch-sensing surface, according to an embodiment.

FIG. 6C illustrates a touch-sensing surface, according to an embodiment.

FIG. 7 is flow diagram illustrating a process for scanning a capacitivetouch sensor array, according to an embodiment.

DETAILED DESCRIPTION

The following description sets forth numerous specific details such asexamples of specific systems, components, methods, and so forth, inorder to provide a good understanding of several embodiments of thepresent invention. It will be apparent to one skilled in the art,however, that at least some embodiments of the present invention may bepracticed without these specific details. In other instances, well-knowncomponents or methods are not described in detail or are presented in asimple block diagram format in order to avoid unnecessarily obscuringthe present invention. Thus, the specific details set forth are merelyexemplary. Particular implementations may vary from these exemplarydetails and still be contemplated to be within the spirit and scope ofthe present invention.

In one embodiment, a capacitive touch-sensing surface may be used totrack locations of one or more conductive objects in contact or in closeproximity to the touch-sensing surface by scanning each of a number ofintersections between capacitive sensor electrodes. In one embodiment, atouch may be detected at the touch-sensing surface when a conductiveobject, such as a finger, contacts or is in close proximity to thetouch-sensing surface. An intersection between two sensor electrodes maybe understood as a location at which one sensor electrode crosses overor overlaps another, while maintaining galvanic isolation from eachother. A scan may include a series of mutual capacitance measurementsbetween pairs of intersecting sensor electrodes spanning all or aportion of the touch-sensing surface. An embodiment of scanning of sucha capacitive touch-sensing surface within a touch-sensing device maydecrease power consumption and increase noise immunity by limiting thenumber of intersections scanned for identifying a location of the one ormore conductive objects. In one embodiment, limiting the number ofscanned intersections may further increase accuracy, reduce responsetime, and improve refresh rate of the touch-sensing device.

In one embodiment, a processing device may perform a first scan of thetouch-sensing surface to detect and resolve the location of a conductiveobject. Based on this resolved (i.e., calculated) location, theprocessing device may predict a location or a set of possible futurelocations for the conductive object. For example, the processing devicemay calculate a predicted location of the conductive object based on thelast known or previously resolved locations, the velocity, theacceleration, or a mix thereof of the conductive object. Alternatively,the processing device may determine a search window including all ormost of the locations that the conductive object is likely to be foundduring a subsequent scan. In one embodiment, the prediction may also bebased on the duration between the first scan and the next subsequentscan. In one embodiment, the search window may be rectangular. In analternative embodiment, the search window may be some other non-squareor non-rectangular shape.

Having determined a search window associated with the predicted locationof the conductive object, the processing device may invoke a scan ofintersections within the search window, which may include intersectionsnear the predicted location. The conductive object can thus be trackedover time by performing a series of local scans comprising the limitednumber of intersections where the conductive object is likely to belocated. In the rare event that the location of the conductive objectcannot be accurately resolved using data from a local scan, additionalintersections, up to or including the whole panel, may be sensed inorder to determine the location of the object.

FIG. 1 illustrates a block diagram of one embodiment of an electronicsystem 100 including a processing device 110 that may be configured tomeasure capacitances from a touch-sensing surface 116 including acapacitive sensor array 121. In one embodiment, a multiplexer circuitmay be used to connect a capacitive sensor 101 with a sensor array 121.The electronic system 100 includes a touch-sensing surface 116 (e.g., atouchscreen, or a touch pad) coupled to the processing device 110, whichis coupled to a host 150. In one embodiment the touch-sensing surface116 is a two-dimensional sensor array 121 that uses processing device110 to detect touches on the surface 116.

In one embodiment, the sensor array 121 includes sensor electrodes121(1)-121(N) (where N is a positive integer) that are disposed as atwo-dimensional matrix (also referred to as an XY matrix). The sensorarray 121 is coupled to pins 113(1)-113(N) of the processing device 110via one or more analog buses 115 transporting multiple signals. In analternative embodiment without an analog bus, each pin may instead beconnected either to a circuit that generates a TX signal or to anindividual RX sensor circuit.

In one embodiment, the capacitance sensor 101 may include a relaxationoscillator or other means to convert a capacitance into a measuredvalue. The capacitance sensor 101 may also include a counter or timer tomeasure the oscillator output. The processing device 110 may furtherinclude software components to convert the count value (e.g.,capacitance value) into a touch detection decision (also referred to asswitch detection decision) or relative magnitude. It should be notedthat there are various known methods for measuring capacitance, such ascurrent versus voltage phase shift measurement, resistor-capacitorcharge timing, capacitive bridge divider, charge transfer, successiveapproximation, sigma-delta modulators, charge-accumulation circuits,field effect, mutual capacitance, frequency shift, or other capacitancemeasurement algorithms. It should be noted however, instead ofevaluating the raw counts relative to a threshold, the capacitancesensor 101 may be evaluating other measurements to determine the userinteraction. For example, in the capacitance sensor 101 having asigma-delta modulator, the capacitance sensor 101 is evaluating theratio of pulse widths of the output (i.e., density domain), instead ofthe raw counts being over or under a certain threshold.

In one embodiment, the processing device 110 further includes processinglogic 102. Operations of the processing logic 102 may be implemented infirmware; alternatively, they may be implemented in hardware orsoftware. The processing logic 102 may receive signals from thecapacitance sensor 101, and determine the state of the sensor array 121,such as whether an object (e.g., a finger) is detected on or inproximity to the sensor array 121 (e.g., determining the presence of theobject), resolve where the object is on the sensor array (e.g.,determining the location of the object), tracking the motion of theobject, or other information related to an object detected at the touchsensor.

In another embodiment, instead of performing the operations of theprocessing logic 102 in the processing device 110, the processing device110 may send the raw data or partially-processed data to the host 150.The host 150, as illustrated in FIG. 1, may include decision logic 151that performs some or all of the operations of the processing logic 102.Operations of the decision logic 151 may be implemented in firmware,hardware, software, or a combination thereof. The host 150 may include ahigh-level Application Programming Interface (API) in applications 152that perform routines on the received data, such as compensating forsensitivity differences, other compensation algorithms, baseline updateroutines, start-up and/or initialization routines, interpolationoperations, or scaling operations. The operations described with respectto the processing logic 102 may be implemented in the decision logic151, the applications 152, or in other hardware, software, and/orfirmware external to the processing device 110. In some otherembodiments, the processing device 110 is the host 150.

In another embodiment, the processing device 110 may also include anon-sensing actions block 103. This block 103 may be used to processand/or receive/transmit data to and from the host 150. For example,additional components may be implemented to operate with the processingdevice 110 along with the sensor array 121 (e.g., keyboard, keypad,mouse, trackball, LEDs, displays, or other peripheral devices).

The processing device 110 may reside on a common carrier substrate suchas, for example, an integrated circuit (IC) die substrate, or amulti-chip module substrate. Alternatively, the components of theprocessing device 110 may be one or more separate integrated circuitsand/or discrete components. In one embodiment, the processing device 110may be a Programmable System on a Chip (PSoC™) processing device,developed by Cypress Semiconductor Corporation, San Jose, Calif.Alternatively, the processing device 110 may be one or more otherprocessing devices known by those of ordinary skill in the art, such asa microprocessor or central processing unit, a controller,special-purpose processor, digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), or other programmable device. In an alternativeembodiment, for example, the processing device 110 may be a networkprocessor having multiple processors including a core unit and multiplemicro-engines. Additionally, the processing device 110 may include anycombination of general-purpose processing device(s) and special-purposeprocessing device(s).

In one embodiment, the electronic system 100 is implemented in a devicethat includes the touch-sensing surface 116 as a user input device, suchas handheld electronics, portable telephones, cellular telephones,notebook computers, personal computers, personal data assistants (PDAs),kiosks, keyboards, televisions, remote controls, monitors, handheldmulti-media devices, handheld video players, gaming devices, controlpanels of a household or industrial appliances, or other computerperipheral or input devices. Alternatively, the electronic system 100may be used in other types of devices. It should be noted that thecomponents of electronic system 100 may include all the componentsdescribed above. Alternatively, electronic system 100 may include onlysome of the components described above, or include additional componentsnot listed herein.

FIG. 2 is a block diagram illustrating one embodiment of sensor array121 composed of orthogonal electrodes and a capacitance sensor 101 thatconverts changes in measured capacitances to coordinates indicating thepresence and location of touch. In one embodiment, the capacitancesensor 101 may measure mutual capacitances for intersections between thetransmit and receive electrodes in the sensor array 121. The touchcoordinates are calculated based on changes in the measured capacitancesrelative to the capacitances of the same touch sensor array 121 in anun-touched state. In one embodiment, sensor array 121 and capacitancesensor 101 are implemented in a system such as electronic system 100.Sensor array 121 includes a matrix 225 of N×M electrodes (N receiveelectrodes and M transmit electrodes), which further includes transmit(TX) electrode 222 and receive (RX) electrode 223. Each of theelectrodes in matrix 225 is connected with capacitance sensing circuit101 through demultiplexer 212 and multiplexer 213.

Capacitance sensor 101 includes multiplexer control 211, demultiplexer212, multiplexer 213, clock generator 214, signal generator 215,demodulation circuit 216, and analog to digital converter (ADC) 217. ADC217 is further coupled with touch coordinate converter 218. Touchcoordinate converter 218 may be implemented in the processing logic 102.

The transmit and receive electrodes in the electrode matrix 225 may bearranged so that each of the transmit electrodes overlap and cross eachof the receive electrodes such as to form an array of intersections,while maintaining galvanic isolation from each other. Thus, eachtransmit electrode may be capacitively coupled with each of the receiveelectrodes. For example, transmit electrode 222 is capacitively coupledwith receive electrode 223 at the point where transmit electrode 222 andreceive electrode 223 overlap.

Clock generator 214 supplies a clock signal to signal generator 215,which produces a TX signal 224 to be supplied to the transmit electrodesof touch sensor 121. In one embodiment, the signal generator 215includes a set of switches that operate according to the clock signalfrom clock generator 214. The switches may generate a TX signal 224 byperiodically connecting the output of signal generator 215 to a firstvoltage and then to a second voltage, wherein said first and secondvoltages are different.

The output of signal generator 215 is connected with demultiplexer 212,which allows the TX signal 224 to be applied to any of the M transmitelectrodes of sensor array 121. In one embodiment, multiplexer control211 controls demultiplexer 212 so that the TX signal 224 is applied toeach transmit electrode 222 in a controlled sequence. Demultiplexer 212may also be used to ground, float, or connect an alternate signal to theother transmit electrodes to which the TX signal 224 is not currentlybeing applied. In an alternate embodiment the TX signal 224 may bepresented in a true form to a subset of the transmit electrodes 222 andin complement form to a second subset of the transmit electrodes 222,wherein there is no overlap in members of the first and second subset oftransmit electrodes 222.

Because of the capacitive coupling between the transmit and receiveelectrodes, the TX signal 224 applied to each transmit electrode inducesa current within each of the receive electrodes. For instance, when theTX signal 224 is applied to transmit electrode 222 through demultiplexer212, the TX signal 224 induces an RX signal 227 on the receiveelectrodes in matrix 225. The RX signal 227 on each of the receiveelectrodes can then be measured in sequence by using multiplexer 213 toconnect each of the N receive electrodes to demodulation circuit 216 insequence.

The mutual capacitance associated with the intersections of all TXelectrodes and RX electrodes can be measured by selecting everyavailable combination of TX electrode and an RX electrode usingdemultiplexer 212 and multiplexer 213. To improve performance,multiplexer 213 may also be segmented to allow more than one of thereceive electrodes in matrix 225 to be routed to additional demodulationcircuits 216. In an optimized configuration, wherein there is a 1-to-1correspondence of instances of demodulation circuit 216 with receiveelectrodes, multiplexer 213 may not be present in the system.

When a conductive object, such as a finger, approaches the electrodematrix 225, the object causes a decrease in the measured mutualcapacitance between only some of the electrodes. For example, if afinger is placed near the intersection of transmit electrode 222 andreceive electrode 223, the presence of the finger will decrease thecharge coupled between electrodes 222 and 223. Thus, the location of thefinger on the touchpad can be determined by identifying the one or morereceive electrodes having a decrease in measured mutual capacitance inaddition to identifying the transmit electrode to which the TX signal224 was applied at the time the decrease in capacitance was measured onthe one or more receive electrodes.

By determining changes in the mutual capacitances associated with eachintersection of electrodes in the matrix 225, the presence and locationsof one or more conductive objects may be determined. The determinationmay be sequential, in parallel, or may occur more frequently at commonlyused electrodes.

In alternative embodiments, other methods for detecting the presence ofa finger or other conductive object may be used where the finger orconductive object causes an increase in measured capacitance at one ormore electrodes, which may be arranged in a grid or other pattern. Forexample, a finger placed near an electrode of a capacitive sensor mayintroduce an additional capacitance to ground that increases the totalcapacitance between the electrode and ground. The location of the fingercan be determined based on the locations of one or more electrodes atwhich a change in measured capacitance is detected, and the associatedmagnitude of capacitance change at each respective electrode.

The induced current signal 227 is integrated by demodulation circuit216. The rectified current output by demodulation circuit 216 can thenbe filtered and converted to a digital code by ADC 217.

A series of such digital codes measured from adjacent sensorintersections, when compared to or offset by the associated codes ofthese same sensors in an un-touched state, may be converted to touchcoordinates indicating a position of an input on touch sensor array 121by touch coordinate converter 218. The touch coordinates may then beused to detect gestures or perform other functions by the processinglogic 102.

FIG. 3 illustrates an embodiment of a capacitive touch-sensing system300 that includes a capacitive sensor array 320. Capacitive sensor array320 includes a plurality of row electrodes 331-340 and a plurality ofcolumn electrodes 341-348. The row and column electrodes 331-348 areconnected to a processing device 310, which may include thefunctionality of capacitance sensor 101, as illustrated in FIG. 2. Inone embodiment, the processing device 310 may perform mutual capacitancemeasurement scans of the capacitive sensor array 320 to measure a mutualcapacitance value associated with each of the intersections between arow electrode and a column electrode in the sensor array 320. Themeasured capacitances may be further processed to determine centroidlocations of one or more contacts of conductive objects proximate to thecapacitive sensor array 320.

In one embodiment, the processing device 310 is connected to a host 150which may receive the measured capacitances or calculated centroidlocations from the processing device 310.

The sensor array 320 illustrated in FIG. 3 includes sensor electrodesarranged to create a pattern of interconnected diamond shapes.Specifically, the sensor electrodes 331-348 of sensor array 320 form asingle solid diamond (SSD) pattern. In one embodiment, each intersectionbetween a row electrode and a column electrode defines a unit cell. Eachpoint within the unit cell is closer to the associated intersection thanto any other intersection. For example, unit cell 350 contains thepoints that are closest to the intersection between row electrode 334and column electrode 346.

In one embodiment, a capacitive touch-sensing system may collect datafrom the entire touch-sensing surface by performing a scan to measurecapacitances of the unit cells that comprise the touch-sensing surface,then process the data serially or in parallel with a subsequent scan.For example, one system that processes data serially may collect rawcapacitance data from each unit cell of the entire touch-sensingsurface, and filter the raw data. Based on the filtered raw data, thesystem may determine local maxima (corresponding to local maximumchanges in capacitance) to calculate positions of fingers or otherconductive objects, then perform post processing of the resolvedpositions to report locations of the conductive objects, or to performother functions such as motion tracking or gesture recognition.

In one embodiment, a touch-sensing system may be configured to performone or both of self-capacitance sensing and mutual capacitance sensing.One embodiment of a capacitive touch-sensing system that is configuredto perform self-capacitance sensing may, in sequence or in parallel,measure the self capacitance of each row and column sensor electrode ofthe touch-sensing surface, such that the total number of senseoperations is N+M, for a capacitive sensor array having N rows and Mcolumns. In one embodiment, the touch-sensing system may be capable ofconnecting individual sensor electrodes together to be sensed inparallel with a single operation. For example, multiple row and orcolumn sensor electrodes may be coupled together and sensed in a singleoperation to determine whether a conductive object is touching or nearthe touch-sensing surface. In an alternate embodiment, the touch-sensingsystem may be capable of connecting each row sensor electrode to it isown sensor circuit such that all row electrodes may be sensed inparallel with a single operation. The touch-sensing system may also becapable of connecting each column sensor electrode to its own sensorcircuit such that all column electrodes may be sensed in parallel with asingle operation. The touch-sensing system may also be capable ofconnecting all row and column electrodes to their own sensor circuits,such that all row and column electrodes may be sensed in parallel with asingle operation.

In one embodiment, a touch-sensing system may perform mutual capacitancesensing of the touch-sensing surface by individually sensing eachintersection between a row electrode and a column sensor electrode.Thus, a total number of sense operations for a capacitive touch sensorhaving X rows and Y columns is X×Y. In one embodiment, performing amutual capacitance measurement of a unit cell formed at the intersectionof a row electrode and a column electrode includes applying a signal(TX) to one electrode and measuring characteristics of the signal onanother electrode resulting from the capacitive coupling between theelectrodes.

In one embodiment, multiple capacitance sensing circuits may be used inparallel to measure a signal coupled to multiple column electrodessimultaneously, from a signal applied to one or more row electrodes. Inone embodiment, for a capacitive sensor array having X rows, Y columns,and N columns that can be sensed simultaneously, the number of mutualcapacitance sensing operations is the smallest whole number greater thanor equal to X×Y/N.

The power consumption of a self-capacitance or mutual capacitancetouch-sensing system may be decreased by limiting scans to a portion ofthe touch-sensing surface. Limiting the scan may further result inhigher immunity from noise, as well as higher accuracy, response time,and refresh rate when tracking a conductive object.

As an example, a touch-sensing system may have X=16 rows, Y=24 columns,and N=8 columns that can be sensed simultaneously. Such a touch-sensingsystem, when configured to measure an 8×8 block of unit cells as asearch window, may track a presence and location of a conductive objectusing 8 sensing operations for each update of the touch locations. Thesame system performing a scan of the entire touch-sensing surface woulduse 48 sensing operations per update. Thus, in this particular example,local scanning results in a 6× improvement in scan time and similarreduction in power to perform the scan.

In one embodiment, each update of the touch locations may include asensing portion and a non-sensing portion. The sensing portion mayinclude measurement of capacitance associated with intersections betweensensor electrodes, while the non-sensing portion may include calculationof touch locations based on the capacitance measurements and reportingof the calculated touch locations to a host device.

In one embodiment, a 5.5 inch diagonal panel composed of >500 unitcells, using a 7×7 search window may reduce scanning time by a factorof >10, as compared to a full scan. This reduced scanning time mayfurther affect many of the critical parameters of a touchscreen system,such as power consumption, signal to noise ratio, refresh rate, andaccuracy.

FIG. 4 illustrates a 6×6 grid of unit cells representing a portion of acapacitive sensor array, according to an embodiment. The illustratedgrid includes unit cells that are affected by a contact or proximity ofa conductive object. In one embodiment, each of the unit cells, such asunit cell 404, corresponds to an intersection between a row and columnelectrode in a capacitive sensor array 121. In FIG. 4, the shading ofeach unit cell indicates a magnitude of a change in mutual capacitancefor that unit cell resulting from the presence of a conductive object ata contact location 401, with darker shading indicating a greater changein mutual capacitance. In one embodiment, the location of contact 401 isdetermined by a centroid 402 calculated from an array populated with thesensed capacitance values of each of the intersections within the localsearch window. In one embodiment, the contact location's centroid 402 iscalculated using interpolation between all or a subset of the measuredcapacitance values in each of the X and Y directions, and by using mostor all of the readings which exceed a noise threshold. By this method,the center of a contact by or presence of a conductive object can becalculated with much finer resolution than the pitch of electrodes usedto make the sensor array. In another embodiment, only a subset of themeasured capacitance values is used for the calculation.

In one embodiment, a size of a search window over which a touch-sensingsystem may perform a local scan may be determined based on an expectedmaximum velocity of a finger or other conductive object to be tracked bythe touch-sensing system. For example, a capacitive sensor array mayhave an electrode pitch of 5 mm and may be scanned at a rate of 100 Hz.For a touch-sensing application, a finger on a touchscreen may move asfast as 1 meter per second over the sensor array, with speeds muchfaster than a few hundred millimeters per second being relativelyuncommon.

In such a touch-sensing system, it will be unusual for a finger to havemoved more than a few millimeters during a time interval between scans.Thus, the search window may be sized to include substantially all of thepredicted locations of the conductive object, given the expected rate oftravel of the conductive object. For example, the local scan may includeall or a subset of the intersections within an 8×8 area of unit cells,which would be large enough to accommodate the maximum expected traveldistance for the finger or other conductive object of a few millimetersper scan interval if the local scan window were centered on the centroidof the resolved touch in the previous scan.

In one embodiment, a touch-sensing system may determine a location ofthe search window over which to perform a local scan based on apredicted location of a conductive object, such as a finger. Forexample, the system may predict a location where a finger is expected tobe during the time of a subsequent scan and perform a local scanincluding intersections of sensor electrodes around the predictedlocation. In one embodiment, the system identifies a search window,which is an area including intersections to be scanned during the localscan. In one embodiment, the search window includes the predictedlocation of the conductive object. In one embodiment the predictedlocation of the conductive object is the calculated location of theconductive object from the previous scan.

In one embodiment, the touch-sensing system uses the location of theconductive object, as determined by an initial scan, as the predictedlocation of the conductive object for a subsequent local scan. In oneembodiment, the touch-sensing system may also account for the velocityor acceleration of a conductive object that is in motion. For example,the system may determine the last known position, velocity, andacceleration of the conductive object based on previously resolvedpositions of the conductive object in order to calculate a predictedlocation for the conductive object at a time when the subsequent localscan is scheduled to be performed.

In one embodiment, a process for locating a contact using a local scanbegins by calculating an expected contact location. In one embodiment, atouch-sensing system may operate based on assuming that the contactlocation of a conductive object proximate to the touch-sensing surfaceis moving sufficiently slowly that the last known location of thecontact can be used to approximate the predicted location of the contactfor a subsequent scan.

In one embodiment, the suitability of using the last known contactlocation as a predicted location may depend on factors including thescanning rate of the touch-sensing system, the size of the sensorelectrodes, the expected maximum velocity of the conductive object, andthe size of the search window.

For example, a touch-sensing panel that is scanned at 200 Hz with a unitcell size of 5×5 mm, would still be able to locate a conductive object,such as a finger, moving at 200 Hz×5 mm=1 m/s using a search window thatincludes a border that is at least one additional “buffer” unit cellwide on all sides of the minimum area of unit cells used by the systemfor determining the centroid location of the contact. For example, ifthe touch-sensing system uses minimum of a 6×6 grid of unit cells tocalculate the centroid location of the conductive object, the size ofthe search window would be 8×8 unit cells.

In an alternative embodiment, the predicted location of the conductiveobject may be based on previously determined locations of the contactlocation. In one embodiment, the previous locations of the contact maybe used to calculate a velocity and acceleration of the contact.Calculation of the predicted contact location based on velocity mayincrease the accuracy of the prediction, particularly for a contactmoving at a substantially constant rate. Compensating for accelerationof the moving contact may further increase the prediction accuracy forcontacts that are not moving at a constant velocity.

FIG. 5 illustrates an area of a touch-sensing surface 500, according toan embodiment. As illustrated in FIG. 5, a search window 501 may cover aportion of the touch-sensing surface 500, and may be positioned suchthat the search window 501 contains the predicted location 502 for theconductive object. In one embodiment, the search window 501 may becentered to surround the predicted location 502.

FIG. 6A illustrates a search window 611 of a touch-sensing surface 600,according to an embodiment. In one embodiment, one or more precedingtouch contacts have been resolved to allow prediction of a contactlocation 610. In one embodiment, once the touch-sensing system haspredicted a location 610, the touch-sensing system may performself-capacitance or mutual capacitance measurements on sensor electrodesintersecting with other sensor electrodes within the search window 611.In one embodiment, the predicted contact location 610 is at the centerof search window 611.

In one embodiment, the touch-sensing system scans the intersectionswithin the search window 611 by performing capacitance measurementsusing the rows 612 and columns 613, the result of such measurements areused to resolve a location of the conductive object within the searchwindow 611. In one embodiment, the capacitance measurements may bemutual capacitance measurements between individual row and column sensorelectrodes. Alternatively, the touch-sensing system may perform aself-capacitance scan of each of the row electrodes 612 and columnelectrodes 613 to determine a detected location of the conductive objectwithin the search window 611. For example, a self-capacitance scan ofthe row and column electrodes spanning local scan search window 400 mayresult in a self-capacitance profile including column capacitances 405and row capacitances 406.

Capacitance measurements collected from scanning the search window 611may be analyzed to determine whether a presence of a finger or otherconductive object has been detected within the search area 611. In oneembodiment, if a contact is detected wholly within the search area 611,the touch-sensing system may proceed with resolving a location of theconductive object based on the capacitance measurements. In oneembodiment, a location can be resolved based on a minimum number ofcapacitance measurements. Thus, a location of a conductive object thatis completely within the search window is resolvable using onlycapacitance measurements of unit cells formed of sensor electrodes thatintersect within the search window. In contrast, a contact that is onlypartially within the search window may be resolved using the capacitancemeasurements of sensor electrodes intersecting within the search window611, in addition to capacitance measurements of sensor electrodesintersecting outside the search window 611. In one embodiment, a contactmay be detected to be only partially (i.e., not wholly) within thesearch window if the highest (or lowest) capacitance value in either theX or Y direction is within a predetermined number of intersections ofthe edge of the search window. In another embodiment, a contact may bedetermined to be only partially within the search window if the measuredcapacitance value at one or more (or another predetermined number) ofthe intersections forming the boundary of the search window differs morethan a predetermined amount from a reference level; this predeterminedlevel may be an absolute capacitance value, or may be a value relativeto the highest or lowest capacitance value measured within the searchwindow.

For example, a contact at location 610 may be completely within thesearch window 611, while a contact at location 620 may be partiallywithin the search window 611. Notably, although the contact location 620is centered outside of the search window 611, a contact at location 620may still cause changes in capacitance measurable at some intersectionsinside the search window 611.

In response to failing to detect that the contact location is at leastpartially within the search window 611, the touch-sensing system mayexpand the size of the search window 611 by scanning intersectionsassociated with additional sensor electrodes, such as columns 623 androws 622. Thus, the initial search window 611 may be expanded to theextended search window 621, which includes the intersections betweeneach of a set of rows, including rows 612 and rows 622, and each of aset of columns, including columns 613 and 623. Note that in someembodiments it may not be possible to distinguish between a touch havingmoved outside the search window and the conductive object having movedaway from proximity to the touch-sensing surface. However, in oneembodiment the system responds in the same way—by expanding the size ofthe search window. In one embodiment the search window may be increasedto cover the entire touch-sensing surface. If no touch is detectedwithin the expanded search window then it may be inferred that theconductive object is no longer proximate to the sensing surface.

For example, a finger may be proximate to the touch-sensing surface 600at a touch location 620 even after the touch-sensing system haspredicted a location 610 based on previously determined locations of thefinger. In one embodiment, this situation may arise when the finger isremoved and replaced on the touch-panel or has moved faster than can beaccommodated by the prediction method.

In one embodiment, the touch-sensing system may extend the search window611 by the same number of intersections in each direction. For example,an extended search window may include unit cells within the initialsearch window and a boundary of unit cells, one or more unit cells wide,on each of the four sides of the initial search window, while notextending the search window beyond the limits of physically presentsensor electrodes. Alternatively, the touch-sensing system may extendthe search window 611 in a direction depending on the capacitancesmeasured from within the search window 611, or a predicted direction oftravel of the contact.

In one embodiment, the touch-sensing system may extend the initialsearch window by scanning additional intersections on the same side asthe largest magnitude of change in capacitance measured within theinitial search window. This process accommodates situations where acontact at location 620 is partially within the initial search window611, or at least causes measurable changes in capacitance at theintersections within the search window 611. In one embodiment, thesearch window 611 may be extended until a minimum sufficient amount ofcapacitance data for resolving the contact location is collected.

In one embodiment, the touch-sensing system may extend the search window611 in the same direction as a direction of travel of the contact. Forexample, the touch-sensing system may extend the search window 611upwards and to the left (with reference to FIG. 6A) to find the positionof a contact that is traveling from location 610 to location 620, inresponse to determining that the contact influenced the capacitance ofintersections not completely within the search window 611.

In one embodiment, if a touch-sensing system is not able to detect apresence of a contact based on a local scan limited to a search window,the touch-sensing system may extend the search to scan the entirecapacitive sensor array. Thus, the touch-sensing system may be able tolocate the contact even if the contact travels completely outside thesearch window, such that the conductive object does not affect anycapacitance measurements within the search window 611.

In one embodiment, a touch-sensing system implementing the local scanmethod may also be configured to detect the presence of additionalconductive objects while tracking an initial contact using the localscan method, to allow local scanning to be used with multi-touchapplications. There are several methods that can be used to detect newcontacts, including detecting one or more secondary capacitance peakswithin an existing local scan window, detecting a change in the totalself-capacitance of the capacitive sensor array, detecting a change inthe self capacitance of sensor electrodes not already measured as partof the local scan window, or scanning all or part of the sensor arrayusing self or mutual capacitance sensing methods.

In one embodiment, a touch-sensing system may perform a scan of theremaining area of the touch-sensing surface, in addition to the area ofthe local scan, in order to detect the presence of additional conductiveobjects, such as additional fingers proximate to the touch-sensingsurface.

In one embodiment, a quick detection of a first new contact at thetouch-sensing surface may be performed using a single self-capacitancemeasurement of the entire sensor, which may be performed in a singletouch detection and resolution cycle. In one embodiment, when there isno touch location currently being tracked, the detecting the presence ofa new touch may include a self-capacitance sensing of sensor electrodesof only one axis. Once a touch is detected, then that touch can belocalized and verified to be a single touch by a self-capacitancemeasurement of the second axis. If more than one touch is present, thenone or more fine scans using mutual capacitance may be used to resolvethe locations of the individual touches. In one embodiment where theself capacitance measurements are of low spatial resolution or lowsignal-to-noise resolution to only perform reliable detection of touchpresence, resolution of touch location may always be performed usingmutual capacitance fine scans.

In one embodiment, the sensor array may be sensed in sections to detecta new contact by electrically coupling multiple sensor electrodes tomake up such sections. In one embodiment, the sections may be adjacent,but non-overlapping. Alternatively, a touch-sensing system may sensethree overlapping sections of a capacitive sensor array, with eachsection covering approximately half the area of the entire capacitivesensor array. In one embodiment, a touch-sensing system with overlappingsections may more easily detect the presence of a conductive object inan overlapping area, particularly when the change in measuredcapacitance caused by the conductive object is relatively small.Specifically, when measuring large areas, a change in capacitance causedby a single finger may be small, such that if the finger is located at aboundary between two non-overlapping sections, the change in measuredcapacitance may be insufficient to be detected as a presence. Forsystems having a capacitance sensor with multiple sensing channels, theself-capacitance of all row, all column, or all row and column senseelectrodes can all be measured in parallel, wherein each sense electrodemay be connected to a separate sensing channel.

In one embodiment, the touch-sensing system may detect the presence ofadditional contacts by scanning all or part of the capacitive sensorarray using mutual-capacitance sensing methods. Depending on the ratioof sensor pitch to a minimum expected contact size, the intersections ofthe sensor electrodes may be sensed according to various patterns, suchas striped or checkerboard patterns. In one embodiment, thetouch-sensing system may sense intersections associated with alternaterows and columns to detect the presence of a contact. Alternatively, atouch-sensing system may sense intersections associated with every thirdrow and column to detect the contact. In an alternate embodiment, thoseintersections not measured in a first sensing of the touch-sensingsurface when looking for touch presence, are measured in a subsequentsensing of the surface, such that over time all intersections aremeasured. For example, if every other intersection of the touch-sensingsurface comprising a checkerboard pattern is measured for touch presencein a first scan of the touch-sensing surface, the remainingintersections, not measured in the first scan, may be measured in thefollowing scan.

For example, FIG. 6B illustrates an embodiment of a touch-sensingsurface 650 including a 16×24 sensor array with N=8. A touch-sensingsystem may detect a contact at the touch-sensing surface 650 byperforming a self or mutual capacitance scan that includes scanning oneof every three rows (rows 652) in conjunction with alternating columns(columns 651). Mutual capacitance measurements are thus performed forthe unit cells (including unit cells 653) at the intersections of thescanned rows 652 and columns 651. Alternatively, the touch-sensingsystem may apply a TX signal to multiple rows simultaneously. In oneembodiment, these rows may be interleaved with rows associated withintersections that are not sensed.

In one embodiment, a scan for new contacts may be performed at a lowerrate than a tracking of a known contact using a local scan. In oneembodiment, a scan of the entire sensor array to detect a new additionalcontact may be performed over several local scan periods. For example, atouch-sensing system may perform a self-capacitance scan of each ofthree sections, where one section is scanned for new contacts afterevery local scan for tracking a known contact. In such a case, with a200 Hz update rate for local scan tracking, the typical “touch latency”for detecting a new contact would be approximately 15 ms to 20 ms.

In one embodiment where new contacts are detected using mutualcapacitance measurements, the mutual capacitance scan for new contactsmay be interleaved between one or more local scans. For example, if 12mutual capacitance sensing operations (corresponding to alternating rowsand columns and N=8 channels and measuring 48 independent intersections)are used to find new contacts over the full area of the touch-sensingsurface, then three rows may be sensed after each local scan, resultingin a 20 ms typical latency for detecting new contacts. Note that whenperforming these new contact scans, in one embodiment the area alreadycovered by a local scan may be excluded since it has already beenmeasured.

FIG. 6C illustrates an embodiment of a touch-sensing surface 670 with a16×24 capacitive sensor array and N=8 channels, for which a set 671 of 8columns of the 16 columns can be sensed simultaneously, with alternaterows being driven for a total of 8×12=96 capacitance measurements. Inone embodiment, some of the rows may be driven with a true TX signal,while others may be driven with a complement TX signal. The 12 rowsbeing driven may be driven in four sets of 3, such that the first set672, second set 673, third set 674, and fourth set 675 of 3 rowelectrodes are driven in sequence after a first, second, third, andfourth local scan, respectively. In one embodiment, intersectionscorresponding to all 3 of the interleaved rows in each set 672-675 maybe sensed together by driving all 3 rows simultaneously, thus reducingthe new touch detection operation to a single mutual capacitanceoperation for each local scan.

In one embodiment, the local scan is used only when tracking thelocation of a single conductive object in contact with or proximate tothe touch-sensing surface. Alternatively, the local scan may be used totrack a number of proximate conductive objects, such as finger touches.

In one embodiment, the system may use the local scan method for trackinga limited number of touches in a system that is capable of tracking morethan the limited number of contacts. For example, a touch-sensing systemcapable of tracking up to ten contacts may use the local scan mode whentracking up to two simultaneous contacts at the touch-sensing surface,and may switch to a different mode for tracking more than two contacts.In this example, two separate search windows may be used when trackingtwo fingers. In one embodiment, if the two search windows overlap, asingle larger window may be used for as long as the two centroids arewithin a predetermined distance of each other.

FIG. 7 illustrates an embodiment of a process 700 for scanning atouch-sensing surface. In one embodiment, the scanning process 700 maybe implemented in a touch-sensing system such as the system illustratedin FIG. 2. In one embodiment, the touch-sensing system may be capable ofperforming both mutual capacitance and self-capacitance measurements. Inone embodiment, the process 700 comprises operations that may beperformed in either a processing device such as processing device 110,or in a host such as host 150. Alternatively, the operations of process700 may be divided between a processing device and a host.

In one embodiment, scanning process 700 begins at block 701, prior towhich time no contacts are detected to be present at the touch-sensingsurface. At block 701, the touch-sensing system may perform an initialscan of the touch-sensing surface to detect the presence of a newcontact at the touch-sensing surface. In one embodiment, the scan atblock 701 may be a self-capacitance scan of electrodes comprising oneaxis of the touch-sensing surface, such as touch-sensing surface 600, asillustrated in FIG. 6A. If the self-capacitance scan of one axisindicates a contact is present, the alternate axis is also scanned toallow prediction of a touch location along both axes. In one embodiment,a self-capacitance scan that indicates more than one touch may cause thesystem to switch to a mutual capacitance scanning method to determinethe number of touches. In an alternative embodiment, the initial scanmay be a mutual capacitance scan of all the intersections, or a subsetof intersections of the sensor electrodes. From block 701, the process700 continues at block 703.

At block 703, if the presence of a new contact was not detected by theinitial scan of block 701, the process 700 continues back to block 701after a timeout at block 707. Thus, the initial scan for a new contactrepeats periodically until a new contact is detected. If, at block 703,a new contact was detected by the initial scan of block 701, the process700 continues at block 705.

At block 705, the system may predict a location of a contact based onthe initial scan performed at block 701. From block 705, the process 700continues at block 709.

At block 709, the touch-sensing system may perform a local scan tocollect raw capacitance data from sensor unit cells around the predictedcontact location. In one embodiment, if the contact is a new contact asidentified at block 703, then the predicted contact location may betaken as an approximate location of the new contact as determined byinitial scan performed at block 701. Thus, the local scan of block 709may be performed within a search window surrounding an approximatelocation of the new contact as determined by the full panel or initialscan of block 701. In one embodiment, the search window may be centeredaround the predicted contact location. For example, search window 611 ofFIG. 6A is centered around predicted contact location 610. In oneembodiment, the local scan is performed on unit cells within a searchwindow, such as search window 501 or 611, as illustrated in FIGS. 5 and6A, respectively. From block 709, the process 700 continues at block711.

At block 711, the system determines whether the raw capacitance datarepresents a whole contact. In one embodiment, a centroid location for awhole contact can be determined based on only the capacitance valuesmeasured from within the search window. In contrast, a centroid locationfor a partial contact may be determined based on capacitance valuesmeasured from within the search window in addition to capacitance valuesmeasured from outside the search window. If the touch-sensing systemdetermines that the capacitance data does not represent a whole contact,the process 700 continues at block 713. If the touch-sensing systeminstead identifies a whole contact, or that a partial contact is foundnear the perimeter area of the touch sensing surface wherein expandingthe search window will not provide additional capacitance data, theprocess 700 continues at block 717.

At block 713, the system determines whether the full panel has beenscanned. If, at block 713, the full panel has been scanned, then a wholecontact or partial contact along the perimeter was not found within thebounds of the entire touch sensing panel, and the panel no longer has atouch or contact present. Accordingly, the process 700 continues back toblock 707 and 701, where a new initial scan is performed after a timeoutto look for a new touch or contact to occur. If, at block 713, the fullpanel has not been scanned, then the system continues at block 715.

At block 715, the system may expand the search area, and a local scanmay be performed on the extended search window at block 709 to obtainadditional capacitance data for locating a whole contact, or furtherresolving a location of any partial contact that may have been found bythe scan at block 709. For example, the touch-sensing system may scanunit cells in an extended search window, such as extended search window621, as illustrated in FIG. 6A. Thus, the blocks 709-715 may be repeateduntil at block 711, either a whole contact is found, or the entire panelis scanned without finding a whole contact or partial contact along theperimeter of the panel. If a whole contact or partial contact along theperimeter of the panel is not found after scanning the full panel, thenthe process 700 continues from block 713 to block 701 after a timeout707. If a whole contact is found, then the process 700 continues fromblock 711 to block 717.

At block 717, the touch-sensing system calculates a resolved contactlocation of the whole contact or partial contact along the perimeter ofthe panel, based on the capacitance data from block 709. Thetouch-sensing system may report the location as touch coordinates to ahost computer, such as host 150 of FIG. 1. From block 717, the process700 continues to block 719.

At block 719, the touch-sensing system predicts a contact location. Inone embodiment, when only initial locations have been determined for oneor more contacts, the predicted contact location may be the same as theresolved contact locations, as calculated at block 717.

In one embodiment, the predicted contact location may be based on aprevious scan, such as the scan at block 701, 709, or 723, where thepredicted contact location is associated with a time of a subsequentscan. In one embodiment, the prediction of the contact location may bebased on one or more previously determined locations of the samecontact. For example, the touch-sensing system may determine a velocityor acceleration for the contact based on previous locations of thecontact, and may determine a predicted location that accounts for thevelocity or acceleration. Alternatively, the touch-sensing system mayuse a last known location of the contact, such as the contact locationdetermined at block 717, as the predicted location of the contact.

In one embodiment, the next predicted location following the resolutionof a first touch location may be centered on the first touch location.Once the second touch location is resolved, the two touch locations andtheir associated time of measurement may be mathematically evaluated toprovide a velocity vector that may be used to predict a location for thethird scan. Once three resolved touch locations are available, then anacceleration of the conductive object can be determined. In oneembodiment, the previous one, two, or three resolved locations of thetouch can then be used for a subsequent prediction depending on thevelocity and acceleration. In one embodiment, the previously resolvedlocations of the touch may also be used to shape the area of the finescan window. If the acceleration is 0, then the last two points may beused. If the velocity is zero, then the last point may be used in theprediction. The predicted location of touch determined in block 719 maybe used for a local scan performed as provided at block 709. From block719, the process 700 continues at block 721.

In one embodiment, either after or before block 719 there will be somedelay to control the scanning rate of the touch-sensing system. Forexample, the system may include a timer (e.g., a 5 ms timer for a 200 Hzsystem), such that before or after block 719, the system will wait untilthe timer indicates that 5 ms has passed since the start of the previousscan. Block 721 represents a timeout occurring after block 719, whichmay be implemented by such a timer.

At block 721, when the timeout has elapsed, the process 700 continues atblock 723. Accordingly, in one embodiment, the timeout determines aninterval for periodically scanning for new contacts, as provided atblock 723.

At block 723, a touch-sensing system may perform a scan of atouch-sensing surface to detect a new additional contact at thetouch-sensing surface. In one embodiment, the scan may be a mutualcapacitance scan of a touch-sensing surface, such as touch-sensingsurface 600, as illustrated in FIG. 6A. In one embodiment, the scan maybe a self-capacitance scan of a touch sensing surface. In oneembodiment, the scan at block 723 may cover the entire sensing area of atouch-sensing surface to detect a new contact anywhere in the sensingarea. From block 723, the process 700 continues at block 725.

In one embodiment, the number of contacts at the touch-sensing surfacemay change because of the addition of an initial contact (as detected bythe scan at block 701), or the introduction of a new additional contact(as detected by a scan according to block 723) to a set of contactsalready detected at the touch-sensing surface. In one embodiment, if thenumber of contacts has increased, the touch-sensing system locates theone or more new contacts by performing a full self-capacitance scan(both axes, for a single contact) or mutual capacitance scan (formultiple contacts) of the entire touch-sensing panel.

At block 725, based on the scan performed at block 723, thetouch-sensing system determines whether the number of contacts at thetouch-sensing surface has changed since the previous scan. In oneembodiment, the number of contacts at block 725 may change because acontact was added to or removed from the touch-sensing surface. Fromblock 725, if the number of contacts has not changed, then the process700 continues at block 709, where the system may perform a local scanbased on the predicted position from block 719. Otherwise, if the numberof contacts has changed, then the process 700 continues at block 705,where the system predicts a contact location.

In one embodiment, the process 700 thus repeats while the touch-sensingsystem is in operation to continuously track the locations of one ormore conductive objects on or proximate to the touch-sensing surface.

In one embodiment, the local scanning and additional contact detectionmethods are not limited to detection and tracking of fingers, but may beused to track other objects such as active or passive styli, or may beused to detect and track conductive objects in proximity to, but notnecessarily contacting, the touch-sensing surface. In one embodiment,the local scanning and additional contact detection methods may also beapplicable to non-capacitive touchscreen sensing methods which use anarray of sensing locations.

Embodiments of the present invention, described herein, include variousoperations. These operations may be performed by hardware components,software, firmware, or a combination thereof. As used herein, the term“coupled to” may mean coupled directly or indirectly through one or moreintervening components. Any of the signals provided over various busesdescribed herein may be time multiplexed with other signals and providedover one or more common buses. Additionally, the interconnection betweencircuit components or blocks may be shown as buses or as single signallines. Each of the buses may alternatively be one or more single signallines and each of the single signal lines may alternatively be buses.

Certain embodiments may be implemented as a computer program productthat may include instructions stored on a computer-readable medium.These instructions may be used to program a general-purpose orspecial-purpose processor to perform the described operations. Acomputer-readable medium includes any mechanism for storing ortransmitting information in a form (e.g., software, processingapplication) readable by a machine (e.g., a computer). Thecomputer-readable storage medium may include, but is not limited to,magnetic storage medium (e.g., floppy diskette); optical storage medium(e.g., CD-ROM); magneto-optical storage medium; read-only memory (ROM);random-access memory (RAM); erasable programmable memory (e.g., EPROMand EEPROM); flash memory, or another type of medium suitable forstoring electronic instructions.

Additionally, some embodiments may be practiced in distributed computingenvironments where the computer-readable medium is stored on and/orexecuted by more than one computer system. In addition, the informationtransferred between computer systems may either be pulled or pushedacross the transmission medium connecting the computer systems.

Although the operations of the method(s) herein are shown and describedin a particular order, the order of the operations of each method may bealtered so that certain operations may be performed in an inverse orderor so that certain operation may be performed, at least in part,concurrently with other operations. In another embodiment, instructionsor sub-operations of distinct operations may be in an intermittentand/or alternating manner.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will, however,be evident that various modifications and changes may be made theretowithout departing from the broader spirit and scope of the invention asset forth in the appended claims. The specification and drawings are,accordingly, to be regarded in an illustrative sense rather than arestrictive sense.

What is claimed is:
 1. A method, comprising: based on a first scan of aset of sensor electrodes of the touch-sensing surface, determining afirst resolved location for a conductive object proximate to atouch-sensing surface; predicting a location for the conductive objectbased on the first resolved location; and determining a second resolvedlocation for the conductive object by performing a second scan of asubset of sensor electrodes of the touch-sensing surface, wherein thenumber of sensor electrodes in the subset of sensor electrodes is fewerthan the number of sensor electrodes in the set of sensor electrodes,and wherein the subset of sensor electrodes is selected based on thepredicted location of the conductive object.
 2. The method of claim 1,wherein the subset of sensor electrodes includes sensor electrodes thatintersect with other sensor electrodes within an area surrounding thepredicted location.
 3. The method of claim 1, wherein predicting thelocation for the conductive object comprises calculating a velocity ofthe conductive object.
 4. The method of claim 1, wherein predicting thelocation for the conductive object comprises selecting the firstresolved location as the predicted location.
 5. The method of claim 1,wherein predicting the location for the conductive object comprisescalculating an acceleration of the conductive object.
 6. The method ofclaim 1, further comprising: tracking a resolved location of theconductive object by performing a series of mutual capacitance scans,wherein the second scan is one of the series of mutual capacitancescans; and detecting an additional conductive object proximate to thetouch-sensing surface by scanning for a new contact over at least aportion of the touch-sensing surface during a time between mutualcapacitance scans of the series of mutual capacitance scans.
 7. Themethod of claim 6, wherein scanning for the new contact comprises:electrically coupling a set of sensor electrodes to each other, andmeasuring a self-capacitance of the electrically coupled set of sensorelectrodes.
 8. The method of claim 6, wherein the self-capacitance scanincludes a second subset of sensor electrodes representing fewer thanall of the sensor electrodes of the touch-sensing surface.
 9. A method,comprising: determining a location of a conductive object proximate to atouch-sensing surface based on a first scan of the touch-sensingsurface; calculating a search window of predicted locations of theconductive object based on a time duration between the first scan and asecond scan, wherein the area included in the search window is less thanthe area of the touch-sensing surface; and performing the second scan,wherein the second scan includes intersections of sensor electrodes,wherein the intersections are within the search window.
 10. The methodof claim 9, wherein the search window includes intersections of sensorelectrodes within an area surrounding the predicted location.
 11. Themethod of claim 9, wherein calculating the search window comprisescalculating a velocity of the conductive object.
 12. The method of claim9, wherein calculating the search window comprises calculating anacceleration of the conductive object.
 13. The method of claim 9,further comprising: tracking a resolved location of the conductiveobject by performing a series of mutual capacitance scans, wherein thesecond scan is one of the series of mutual capacitance scans; anddetecting an additional conductive object at the touch-sensing surfaceby performing a self-capacitance scan of at least a portion of thetouch-sensing surface between mutual capacitance scans of the series ofmutual capacitance scans.
 14. The method of claim 9, further comprising,in response to determining that the conductive object is not locatedwithin the search window, expanding the search window by scanningadditional intersections of sensor electrodes.
 15. The method of claim14, wherein the search window is expanded to include the entiretouch-sensing surface.
 16. The method of claim 14, wherein the searchwindow is expanded based on a direction of movement of the conductiveobject.
 17. The method of claim 14, wherein the search window isexpanded to include additional intersections nearest an intersectionhaving a highest measured capacitance value.
 18. A touch-sensing systemcomprising: a capacitive sensor array comprising a plurality of sensorelectrodes; a capacitance sensor configured to measure capacitance foreach of a plurality of intersections between individual sensorelectrodes of the plurality of sensor electrodes; and processing logicconfigured to determine a resolved location of a conductive object basedon scanning a subset of intersections within a search window, whereinthe number of intersections in the subset of intersections is fewer thanthe number of intersections included in the plurality of sensorelectrodes, and wherein the search window defines an area around apredicted location of the conductive object.
 19. The touch-sensingsystem of claim 18, wherein the predicted location is extrapolated basedon at least one previously determined location of the conductive object.20. The touch-sensing system of claim 18, wherein the capacitance sensoris further configured to: perform the second scan as one of a series ofmutual capacitance scans, and perform a self-capacitance scan of atleast a portion of the touch-sensing surface between mutual capacitancescans of the series of mutual capacitance scans; and wherein theprocessing logic is further configured to: track a resolved location ofthe conductive object over time based on the series of mutualcapacitance scans, and detect an additional conductive object at thetouch-sensing surface based on the self-capacitance scan.